package com.xbh.common.base;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @program: management-center
 * @description:
 * @author: 许宝华
 * @create: 2021-09-08 15:41
 */

//@Builder注释为你的类生成相对略微复杂的构建器API。@Builder可以让你以下面显示的那样调用你的代码，来初始化你的实例对象：
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PayloadDTO implements Serializable {

    private static final long serialVersionUID = 5988619597830511341L;

    /**
     * ------------------------------------这部分为 注册声明------------------------------------
     * 这个jwt的身份id
     */
    private String jti;

    /** 签发人 */
    private String iss;

    /** 过期时长(单位ms) */
    private Long exp;

    /** 主题 */
    private String sub;

    /** 受众 */
    private String aud;

    /** 生效时间（1970年1月1日到现在的偏移量） */
    private Long nbf;

    /** 签发时间（1970年1月1日到现在的偏移量） */
    private Long iat;

    /**
     * ------------------------------------这部分为 公开声明------------------------------------
     * 姓名
     */
    private String name;

    private Long userId;
    /**
     * 出生日期
     */
    private Date birthday;

    /**
     * ------------------------------------这部分为 私有声明------------------------------------
     * 是否是管理员
     */
    private Boolean isAdmin;

    /*
        用户描述
     */
    private String description;
}
